package com.hl.entity;

import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;

public class GroupBuyModelInfoExample {
    protected String orderByClause;

    protected boolean distinct;

    protected List<Criteria> oredCriteria;

    public GroupBuyModelInfoExample() {
        oredCriteria = new ArrayList<Criteria>();
    }

    public void setOrderByClause(String orderByClause) {
        this.orderByClause = orderByClause;
    }

    public String getOrderByClause() {
        return orderByClause;
    }

    public void setDistinct(boolean distinct) {
        this.distinct = distinct;
    }

    public boolean isDistinct() {
        return distinct;
    }

    public List<Criteria> getOredCriteria() {
        return oredCriteria;
    }

    public void or(Criteria criteria) {
        oredCriteria.add(criteria);
    }

    public Criteria or() {
        Criteria criteria = createCriteriaInternal();
        oredCriteria.add(criteria);
        return criteria;
    }

    public Criteria createCriteria() {
        Criteria criteria = createCriteriaInternal();
        if (oredCriteria.size() == 0) {
            oredCriteria.add(criteria);
        }
        return criteria;
    }

    protected Criteria createCriteriaInternal() {
        Criteria criteria = new Criteria();
        return criteria;
    }

    public void clear() {
        oredCriteria.clear();
        orderByClause = null;
        distinct = false;
    }

    protected abstract static class GeneratedCriteria {
        protected List<Criterion> criteria;

        protected GeneratedCriteria() {
            super();
            criteria = new ArrayList<Criterion>();
        }

        public boolean isValid() {
            return criteria.size() > 0;
        }

        public List<Criterion> getAllCriteria() {
            return criteria;
        }

        public List<Criterion> getCriteria() {
            return criteria;
        }

        protected void addCriterion(String condition) {
            if (condition == null) {
                throw new RuntimeException("Value for condition cannot be null");
            }
            criteria.add(new Criterion(condition));
        }

        protected void addCriterion(String condition, Object value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value));
        }

        protected void addCriterion(String condition, Object value1, Object value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value1, value2));
        }

        public Criteria andIdIsNull() {
            addCriterion("id is null");
            return (Criteria) this;
        }

        public Criteria andIdIsNotNull() {
            addCriterion("id is not null");
            return (Criteria) this;
        }

        public Criteria andIdEqualTo(Long value) {
            addCriterion("id =", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotEqualTo(Long value) {
            addCriterion("id <>", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdGreaterThan(Long value) {
            addCriterion("id >", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdGreaterThanOrEqualTo(Long value) {
            addCriterion("id >=", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdLessThan(Long value) {
            addCriterion("id <", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdLessThanOrEqualTo(Long value) {
            addCriterion("id <=", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdIn(List<Long> values) {
            addCriterion("id in", values, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotIn(List<Long> values) {
            addCriterion("id not in", values, "id");
            return (Criteria) this;
        }

        public Criteria andIdBetween(Long value1, Long value2) {
            addCriterion("id between", value1, value2, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotBetween(Long value1, Long value2) {
            addCriterion("id not between", value1, value2, "id");
            return (Criteria) this;
        }

        public Criteria andMallIdIsNull() {
            addCriterion("mall_id is null");
            return (Criteria) this;
        }

        public Criteria andMallIdIsNotNull() {
            addCriterion("mall_id is not null");
            return (Criteria) this;
        }

        public Criteria andMallIdEqualTo(Long value) {
            addCriterion("mall_id =", value, "mallId");
            return (Criteria) this;
        }

        public Criteria andMallIdNotEqualTo(Long value) {
            addCriterion("mall_id <>", value, "mallId");
            return (Criteria) this;
        }

        public Criteria andMallIdGreaterThan(Long value) {
            addCriterion("mall_id >", value, "mallId");
            return (Criteria) this;
        }

        public Criteria andMallIdGreaterThanOrEqualTo(Long value) {
            addCriterion("mall_id >=", value, "mallId");
            return (Criteria) this;
        }

        public Criteria andMallIdLessThan(Long value) {
            addCriterion("mall_id <", value, "mallId");
            return (Criteria) this;
        }

        public Criteria andMallIdLessThanOrEqualTo(Long value) {
            addCriterion("mall_id <=", value, "mallId");
            return (Criteria) this;
        }

        public Criteria andMallIdIn(List<Long> values) {
            addCriterion("mall_id in", values, "mallId");
            return (Criteria) this;
        }

        public Criteria andMallIdNotIn(List<Long> values) {
            addCriterion("mall_id not in", values, "mallId");
            return (Criteria) this;
        }

        public Criteria andMallIdBetween(Long value1, Long value2) {
            addCriterion("mall_id between", value1, value2, "mallId");
            return (Criteria) this;
        }

        public Criteria andMallIdNotBetween(Long value1, Long value2) {
            addCriterion("mall_id not between", value1, value2, "mallId");
            return (Criteria) this;
        }

        public Criteria andStatusIsNull() {
            addCriterion("status is null");
            return (Criteria) this;
        }

        public Criteria andStatusIsNotNull() {
            addCriterion("status is not null");
            return (Criteria) this;
        }

        public Criteria andStatusEqualTo(Integer value) {
            addCriterion("status =", value, "status");
            return (Criteria) this;
        }

        public Criteria andStatusNotEqualTo(Integer value) {
            addCriterion("status <>", value, "status");
            return (Criteria) this;
        }

        public Criteria andStatusGreaterThan(Integer value) {
            addCriterion("status >", value, "status");
            return (Criteria) this;
        }

        public Criteria andStatusGreaterThanOrEqualTo(Integer value) {
            addCriterion("status >=", value, "status");
            return (Criteria) this;
        }

        public Criteria andStatusLessThan(Integer value) {
            addCriterion("status <", value, "status");
            return (Criteria) this;
        }

        public Criteria andStatusLessThanOrEqualTo(Integer value) {
            addCriterion("status <=", value, "status");
            return (Criteria) this;
        }

        public Criteria andStatusIn(List<Integer> values) {
            addCriterion("status in", values, "status");
            return (Criteria) this;
        }

        public Criteria andStatusNotIn(List<Integer> values) {
            addCriterion("status not in", values, "status");
            return (Criteria) this;
        }

        public Criteria andStatusBetween(Integer value1, Integer value2) {
            addCriterion("status between", value1, value2, "status");
            return (Criteria) this;
        }

        public Criteria andStatusNotBetween(Integer value1, Integer value2) {
            addCriterion("status not between", value1, value2, "status");
            return (Criteria) this;
        }

        public Criteria andIsOnlineIsNull() {
            addCriterion("is_online is null");
            return (Criteria) this;
        }

        public Criteria andIsOnlineIsNotNull() {
            addCriterion("is_online is not null");
            return (Criteria) this;
        }

        public Criteria andIsOnlineEqualTo(Boolean value) {
            addCriterion("is_online =", value, "isOnline");
            return (Criteria) this;
        }

        public Criteria andIsOnlineNotEqualTo(Boolean value) {
            addCriterion("is_online <>", value, "isOnline");
            return (Criteria) this;
        }

        public Criteria andIsOnlineGreaterThan(Boolean value) {
            addCriterion("is_online >", value, "isOnline");
            return (Criteria) this;
        }

        public Criteria andIsOnlineGreaterThanOrEqualTo(Boolean value) {
            addCriterion("is_online >=", value, "isOnline");
            return (Criteria) this;
        }

        public Criteria andIsOnlineLessThan(Boolean value) {
            addCriterion("is_online <", value, "isOnline");
            return (Criteria) this;
        }

        public Criteria andIsOnlineLessThanOrEqualTo(Boolean value) {
            addCriterion("is_online <=", value, "isOnline");
            return (Criteria) this;
        }

        public Criteria andIsOnlineIn(List<Boolean> values) {
            addCriterion("is_online in", values, "isOnline");
            return (Criteria) this;
        }

        public Criteria andIsOnlineNotIn(List<Boolean> values) {
            addCriterion("is_online not in", values, "isOnline");
            return (Criteria) this;
        }

        public Criteria andIsOnlineBetween(Boolean value1, Boolean value2) {
            addCriterion("is_online between", value1, value2, "isOnline");
            return (Criteria) this;
        }

        public Criteria andIsOnlineNotBetween(Boolean value1, Boolean value2) {
            addCriterion("is_online not between", value1, value2, "isOnline");
            return (Criteria) this;
        }

        public Criteria andOldPriceIsNull() {
            addCriterion("old_price is null");
            return (Criteria) this;
        }

        public Criteria andOldPriceIsNotNull() {
            addCriterion("old_price is not null");
            return (Criteria) this;
        }

        public Criteria andOldPriceEqualTo(BigDecimal value) {
            addCriterion("old_price =", value, "oldPrice");
            return (Criteria) this;
        }

        public Criteria andOldPriceNotEqualTo(BigDecimal value) {
            addCriterion("old_price <>", value, "oldPrice");
            return (Criteria) this;
        }

        public Criteria andOldPriceGreaterThan(BigDecimal value) {
            addCriterion("old_price >", value, "oldPrice");
            return (Criteria) this;
        }

        public Criteria andOldPriceGreaterThanOrEqualTo(BigDecimal value) {
            addCriterion("old_price >=", value, "oldPrice");
            return (Criteria) this;
        }

        public Criteria andOldPriceLessThan(BigDecimal value) {
            addCriterion("old_price <", value, "oldPrice");
            return (Criteria) this;
        }

        public Criteria andOldPriceLessThanOrEqualTo(BigDecimal value) {
            addCriterion("old_price <=", value, "oldPrice");
            return (Criteria) this;
        }

        public Criteria andOldPriceIn(List<BigDecimal> values) {
            addCriterion("old_price in", values, "oldPrice");
            return (Criteria) this;
        }

        public Criteria andOldPriceNotIn(List<BigDecimal> values) {
            addCriterion("old_price not in", values, "oldPrice");
            return (Criteria) this;
        }

        public Criteria andOldPriceBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("old_price between", value1, value2, "oldPrice");
            return (Criteria) this;
        }

        public Criteria andOldPriceNotBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("old_price not between", value1, value2, "oldPrice");
            return (Criteria) this;
        }

        public Criteria andNowPriceIsNull() {
            addCriterion("now_price is null");
            return (Criteria) this;
        }

        public Criteria andNowPriceIsNotNull() {
            addCriterion("now_price is not null");
            return (Criteria) this;
        }

        public Criteria andNowPriceEqualTo(BigDecimal value) {
            addCriterion("now_price =", value, "nowPrice");
            return (Criteria) this;
        }

        public Criteria andNowPriceNotEqualTo(BigDecimal value) {
            addCriterion("now_price <>", value, "nowPrice");
            return (Criteria) this;
        }

        public Criteria andNowPriceGreaterThan(BigDecimal value) {
            addCriterion("now_price >", value, "nowPrice");
            return (Criteria) this;
        }

        public Criteria andNowPriceGreaterThanOrEqualTo(BigDecimal value) {
            addCriterion("now_price >=", value, "nowPrice");
            return (Criteria) this;
        }

        public Criteria andNowPriceLessThan(BigDecimal value) {
            addCriterion("now_price <", value, "nowPrice");
            return (Criteria) this;
        }

        public Criteria andNowPriceLessThanOrEqualTo(BigDecimal value) {
            addCriterion("now_price <=", value, "nowPrice");
            return (Criteria) this;
        }

        public Criteria andNowPriceIn(List<BigDecimal> values) {
            addCriterion("now_price in", values, "nowPrice");
            return (Criteria) this;
        }

        public Criteria andNowPriceNotIn(List<BigDecimal> values) {
            addCriterion("now_price not in", values, "nowPrice");
            return (Criteria) this;
        }

        public Criteria andNowPriceBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("now_price between", value1, value2, "nowPrice");
            return (Criteria) this;
        }

        public Criteria andNowPriceNotBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("now_price not between", value1, value2, "nowPrice");
            return (Criteria) this;
        }

        public Criteria andImgUrlIsNull() {
            addCriterion("img_url is null");
            return (Criteria) this;
        }

        public Criteria andImgUrlIsNotNull() {
            addCriterion("img_url is not null");
            return (Criteria) this;
        }

        public Criteria andImgUrlEqualTo(String value) {
            addCriterion("img_url =", value, "imgUrl");
            return (Criteria) this;
        }

        public Criteria andImgUrlNotEqualTo(String value) {
            addCriterion("img_url <>", value, "imgUrl");
            return (Criteria) this;
        }

        public Criteria andImgUrlGreaterThan(String value) {
            addCriterion("img_url >", value, "imgUrl");
            return (Criteria) this;
        }

        public Criteria andImgUrlGreaterThanOrEqualTo(String value) {
            addCriterion("img_url >=", value, "imgUrl");
            return (Criteria) this;
        }

        public Criteria andImgUrlLessThan(String value) {
            addCriterion("img_url <", value, "imgUrl");
            return (Criteria) this;
        }

        public Criteria andImgUrlLessThanOrEqualTo(String value) {
            addCriterion("img_url <=", value, "imgUrl");
            return (Criteria) this;
        }

        public Criteria andImgUrlLike(String value) {
            addCriterion("img_url like", value, "imgUrl");
            return (Criteria) this;
        }

        public Criteria andImgUrlNotLike(String value) {
            addCriterion("img_url not like", value, "imgUrl");
            return (Criteria) this;
        }

        public Criteria andImgUrlIn(List<String> values) {
            addCriterion("img_url in", values, "imgUrl");
            return (Criteria) this;
        }

        public Criteria andImgUrlNotIn(List<String> values) {
            addCriterion("img_url not in", values, "imgUrl");
            return (Criteria) this;
        }

        public Criteria andImgUrlBetween(String value1, String value2) {
            addCriterion("img_url between", value1, value2, "imgUrl");
            return (Criteria) this;
        }

        public Criteria andImgUrlNotBetween(String value1, String value2) {
            addCriterion("img_url not between", value1, value2, "imgUrl");
            return (Criteria) this;
        }

        public Criteria andTitleImg1IsNull() {
            addCriterion("title_img_1 is null");
            return (Criteria) this;
        }

        public Criteria andTitleImg1IsNotNull() {
            addCriterion("title_img_1 is not null");
            return (Criteria) this;
        }

        public Criteria andTitleImg1EqualTo(String value) {
            addCriterion("title_img_1 =", value, "titleImg1");
            return (Criteria) this;
        }

        public Criteria andTitleImg1NotEqualTo(String value) {
            addCriterion("title_img_1 <>", value, "titleImg1");
            return (Criteria) this;
        }

        public Criteria andTitleImg1GreaterThan(String value) {
            addCriterion("title_img_1 >", value, "titleImg1");
            return (Criteria) this;
        }

        public Criteria andTitleImg1GreaterThanOrEqualTo(String value) {
            addCriterion("title_img_1 >=", value, "titleImg1");
            return (Criteria) this;
        }

        public Criteria andTitleImg1LessThan(String value) {
            addCriterion("title_img_1 <", value, "titleImg1");
            return (Criteria) this;
        }

        public Criteria andTitleImg1LessThanOrEqualTo(String value) {
            addCriterion("title_img_1 <=", value, "titleImg1");
            return (Criteria) this;
        }

        public Criteria andTitleImg1Like(String value) {
            addCriterion("title_img_1 like", value, "titleImg1");
            return (Criteria) this;
        }

        public Criteria andTitleImg1NotLike(String value) {
            addCriterion("title_img_1 not like", value, "titleImg1");
            return (Criteria) this;
        }

        public Criteria andTitleImg1In(List<String> values) {
            addCriterion("title_img_1 in", values, "titleImg1");
            return (Criteria) this;
        }

        public Criteria andTitleImg1NotIn(List<String> values) {
            addCriterion("title_img_1 not in", values, "titleImg1");
            return (Criteria) this;
        }

        public Criteria andTitleImg1Between(String value1, String value2) {
            addCriterion("title_img_1 between", value1, value2, "titleImg1");
            return (Criteria) this;
        }

        public Criteria andTitleImg1NotBetween(String value1, String value2) {
            addCriterion("title_img_1 not between", value1, value2, "titleImg1");
            return (Criteria) this;
        }

        public Criteria andGoodsNameIsNull() {
            addCriterion("goods_name is null");
            return (Criteria) this;
        }

        public Criteria andGoodsNameIsNotNull() {
            addCriterion("goods_name is not null");
            return (Criteria) this;
        }

        public Criteria andGoodsNameEqualTo(String value) {
            addCriterion("goods_name =", value, "goodsName");
            return (Criteria) this;
        }

        public Criteria andGoodsNameNotEqualTo(String value) {
            addCriterion("goods_name <>", value, "goodsName");
            return (Criteria) this;
        }

        public Criteria andGoodsNameGreaterThan(String value) {
            addCriterion("goods_name >", value, "goodsName");
            return (Criteria) this;
        }

        public Criteria andGoodsNameGreaterThanOrEqualTo(String value) {
            addCriterion("goods_name >=", value, "goodsName");
            return (Criteria) this;
        }

        public Criteria andGoodsNameLessThan(String value) {
            addCriterion("goods_name <", value, "goodsName");
            return (Criteria) this;
        }

        public Criteria andGoodsNameLessThanOrEqualTo(String value) {
            addCriterion("goods_name <=", value, "goodsName");
            return (Criteria) this;
        }

        public Criteria andGoodsNameLike(String value) {
            addCriterion("goods_name like", value, "goodsName");
            return (Criteria) this;
        }

        public Criteria andGoodsNameNotLike(String value) {
            addCriterion("goods_name not like", value, "goodsName");
            return (Criteria) this;
        }

        public Criteria andGoodsNameIn(List<String> values) {
            addCriterion("goods_name in", values, "goodsName");
            return (Criteria) this;
        }

        public Criteria andGoodsNameNotIn(List<String> values) {
            addCriterion("goods_name not in", values, "goodsName");
            return (Criteria) this;
        }

        public Criteria andGoodsNameBetween(String value1, String value2) {
            addCriterion("goods_name between", value1, value2, "goodsName");
            return (Criteria) this;
        }

        public Criteria andGoodsNameNotBetween(String value1, String value2) {
            addCriterion("goods_name not between", value1, value2, "goodsName");
            return (Criteria) this;
        }

        public Criteria andGoodsDescribeIsNull() {
            addCriterion("goods_describe is null");
            return (Criteria) this;
        }

        public Criteria andGoodsDescribeIsNotNull() {
            addCriterion("goods_describe is not null");
            return (Criteria) this;
        }

        public Criteria andGoodsDescribeEqualTo(String value) {
            addCriterion("goods_describe =", value, "goodsDescribe");
            return (Criteria) this;
        }

        public Criteria andGoodsDescribeNotEqualTo(String value) {
            addCriterion("goods_describe <>", value, "goodsDescribe");
            return (Criteria) this;
        }

        public Criteria andGoodsDescribeGreaterThan(String value) {
            addCriterion("goods_describe >", value, "goodsDescribe");
            return (Criteria) this;
        }

        public Criteria andGoodsDescribeGreaterThanOrEqualTo(String value) {
            addCriterion("goods_describe >=", value, "goodsDescribe");
            return (Criteria) this;
        }

        public Criteria andGoodsDescribeLessThan(String value) {
            addCriterion("goods_describe <", value, "goodsDescribe");
            return (Criteria) this;
        }

        public Criteria andGoodsDescribeLessThanOrEqualTo(String value) {
            addCriterion("goods_describe <=", value, "goodsDescribe");
            return (Criteria) this;
        }

        public Criteria andGoodsDescribeLike(String value) {
            addCriterion("goods_describe like", value, "goodsDescribe");
            return (Criteria) this;
        }

        public Criteria andGoodsDescribeNotLike(String value) {
            addCriterion("goods_describe not like", value, "goodsDescribe");
            return (Criteria) this;
        }

        public Criteria andGoodsDescribeIn(List<String> values) {
            addCriterion("goods_describe in", values, "goodsDescribe");
            return (Criteria) this;
        }

        public Criteria andGoodsDescribeNotIn(List<String> values) {
            addCriterion("goods_describe not in", values, "goodsDescribe");
            return (Criteria) this;
        }

        public Criteria andGoodsDescribeBetween(String value1, String value2) {
            addCriterion("goods_describe between", value1, value2, "goodsDescribe");
            return (Criteria) this;
        }

        public Criteria andGoodsDescribeNotBetween(String value1, String value2) {
            addCriterion("goods_describe not between", value1, value2, "goodsDescribe");
            return (Criteria) this;
        }

        public Criteria andTotalMembersIsNull() {
            addCriterion("total_members is null");
            return (Criteria) this;
        }

        public Criteria andTotalMembersIsNotNull() {
            addCriterion("total_members is not null");
            return (Criteria) this;
        }

        public Criteria andTotalMembersEqualTo(Integer value) {
            addCriterion("total_members =", value, "totalMembers");
            return (Criteria) this;
        }

        public Criteria andTotalMembersNotEqualTo(Integer value) {
            addCriterion("total_members <>", value, "totalMembers");
            return (Criteria) this;
        }

        public Criteria andTotalMembersGreaterThan(Integer value) {
            addCriterion("total_members >", value, "totalMembers");
            return (Criteria) this;
        }

        public Criteria andTotalMembersGreaterThanOrEqualTo(Integer value) {
            addCriterion("total_members >=", value, "totalMembers");
            return (Criteria) this;
        }

        public Criteria andTotalMembersLessThan(Integer value) {
            addCriterion("total_members <", value, "totalMembers");
            return (Criteria) this;
        }

        public Criteria andTotalMembersLessThanOrEqualTo(Integer value) {
            addCriterion("total_members <=", value, "totalMembers");
            return (Criteria) this;
        }

        public Criteria andTotalMembersIn(List<Integer> values) {
            addCriterion("total_members in", values, "totalMembers");
            return (Criteria) this;
        }

        public Criteria andTotalMembersNotIn(List<Integer> values) {
            addCriterion("total_members not in", values, "totalMembers");
            return (Criteria) this;
        }

        public Criteria andTotalMembersBetween(Integer value1, Integer value2) {
            addCriterion("total_members between", value1, value2, "totalMembers");
            return (Criteria) this;
        }

        public Criteria andTotalMembersNotBetween(Integer value1, Integer value2) {
            addCriterion("total_members not between", value1, value2, "totalMembers");
            return (Criteria) this;
        }

        public Criteria andCreateOperatorIsNull() {
            addCriterion("create_operator is null");
            return (Criteria) this;
        }

        public Criteria andCreateOperatorIsNotNull() {
            addCriterion("create_operator is not null");
            return (Criteria) this;
        }

        public Criteria andCreateOperatorEqualTo(Long value) {
            addCriterion("create_operator =", value, "createOperator");
            return (Criteria) this;
        }

        public Criteria andCreateOperatorNotEqualTo(Long value) {
            addCriterion("create_operator <>", value, "createOperator");
            return (Criteria) this;
        }

        public Criteria andCreateOperatorGreaterThan(Long value) {
            addCriterion("create_operator >", value, "createOperator");
            return (Criteria) this;
        }

        public Criteria andCreateOperatorGreaterThanOrEqualTo(Long value) {
            addCriterion("create_operator >=", value, "createOperator");
            return (Criteria) this;
        }

        public Criteria andCreateOperatorLessThan(Long value) {
            addCriterion("create_operator <", value, "createOperator");
            return (Criteria) this;
        }

        public Criteria andCreateOperatorLessThanOrEqualTo(Long value) {
            addCriterion("create_operator <=", value, "createOperator");
            return (Criteria) this;
        }

        public Criteria andCreateOperatorIn(List<Long> values) {
            addCriterion("create_operator in", values, "createOperator");
            return (Criteria) this;
        }

        public Criteria andCreateOperatorNotIn(List<Long> values) {
            addCriterion("create_operator not in", values, "createOperator");
            return (Criteria) this;
        }

        public Criteria andCreateOperatorBetween(Long value1, Long value2) {
            addCriterion("create_operator between", value1, value2, "createOperator");
            return (Criteria) this;
        }

        public Criteria andCreateOperatorNotBetween(Long value1, Long value2) {
            addCriterion("create_operator not between", value1, value2, "createOperator");
            return (Criteria) this;
        }

        public Criteria andIsCanSingleIsNull() {
            addCriterion("is_can_single is null");
            return (Criteria) this;
        }

        public Criteria andIsCanSingleIsNotNull() {
            addCriterion("is_can_single is not null");
            return (Criteria) this;
        }

        public Criteria andIsCanSingleEqualTo(Boolean value) {
            addCriterion("is_can_single =", value, "isCanSingle");
            return (Criteria) this;
        }

        public Criteria andIsCanSingleNotEqualTo(Boolean value) {
            addCriterion("is_can_single <>", value, "isCanSingle");
            return (Criteria) this;
        }

        public Criteria andIsCanSingleGreaterThan(Boolean value) {
            addCriterion("is_can_single >", value, "isCanSingle");
            return (Criteria) this;
        }

        public Criteria andIsCanSingleGreaterThanOrEqualTo(Boolean value) {
            addCriterion("is_can_single >=", value, "isCanSingle");
            return (Criteria) this;
        }

        public Criteria andIsCanSingleLessThan(Boolean value) {
            addCriterion("is_can_single <", value, "isCanSingle");
            return (Criteria) this;
        }

        public Criteria andIsCanSingleLessThanOrEqualTo(Boolean value) {
            addCriterion("is_can_single <=", value, "isCanSingle");
            return (Criteria) this;
        }

        public Criteria andIsCanSingleIn(List<Boolean> values) {
            addCriterion("is_can_single in", values, "isCanSingle");
            return (Criteria) this;
        }

        public Criteria andIsCanSingleNotIn(List<Boolean> values) {
            addCriterion("is_can_single not in", values, "isCanSingle");
            return (Criteria) this;
        }

        public Criteria andIsCanSingleBetween(Boolean value1, Boolean value2) {
            addCriterion("is_can_single between", value1, value2, "isCanSingle");
            return (Criteria) this;
        }

        public Criteria andIsCanSingleNotBetween(Boolean value1, Boolean value2) {
            addCriterion("is_can_single not between", value1, value2, "isCanSingle");
            return (Criteria) this;
        }

        public Criteria andUseLimitIsNull() {
            addCriterion("use_limit is null");
            return (Criteria) this;
        }

        public Criteria andUseLimitIsNotNull() {
            addCriterion("use_limit is not null");
            return (Criteria) this;
        }

        public Criteria andUseLimitEqualTo(String value) {
            addCriterion("use_limit =", value, "useLimit");
            return (Criteria) this;
        }

        public Criteria andUseLimitNotEqualTo(String value) {
            addCriterion("use_limit <>", value, "useLimit");
            return (Criteria) this;
        }

        public Criteria andUseLimitGreaterThan(String value) {
            addCriterion("use_limit >", value, "useLimit");
            return (Criteria) this;
        }

        public Criteria andUseLimitGreaterThanOrEqualTo(String value) {
            addCriterion("use_limit >=", value, "useLimit");
            return (Criteria) this;
        }

        public Criteria andUseLimitLessThan(String value) {
            addCriterion("use_limit <", value, "useLimit");
            return (Criteria) this;
        }

        public Criteria andUseLimitLessThanOrEqualTo(String value) {
            addCriterion("use_limit <=", value, "useLimit");
            return (Criteria) this;
        }

        public Criteria andUseLimitLike(String value) {
            addCriterion("use_limit like", value, "useLimit");
            return (Criteria) this;
        }

        public Criteria andUseLimitNotLike(String value) {
            addCriterion("use_limit not like", value, "useLimit");
            return (Criteria) this;
        }

        public Criteria andUseLimitIn(List<String> values) {
            addCriterion("use_limit in", values, "useLimit");
            return (Criteria) this;
        }

        public Criteria andUseLimitNotIn(List<String> values) {
            addCriterion("use_limit not in", values, "useLimit");
            return (Criteria) this;
        }

        public Criteria andUseLimitBetween(String value1, String value2) {
            addCriterion("use_limit between", value1, value2, "useLimit");
            return (Criteria) this;
        }

        public Criteria andUseLimitNotBetween(String value1, String value2) {
            addCriterion("use_limit not between", value1, value2, "useLimit");
            return (Criteria) this;
        }

        public Criteria andGroupBuyNoticeIsNull() {
            addCriterion("group_buy_notice is null");
            return (Criteria) this;
        }

        public Criteria andGroupBuyNoticeIsNotNull() {
            addCriterion("group_buy_notice is not null");
            return (Criteria) this;
        }

        public Criteria andGroupBuyNoticeEqualTo(String value) {
            addCriterion("group_buy_notice =", value, "groupBuyNotice");
            return (Criteria) this;
        }

        public Criteria andGroupBuyNoticeNotEqualTo(String value) {
            addCriterion("group_buy_notice <>", value, "groupBuyNotice");
            return (Criteria) this;
        }

        public Criteria andGroupBuyNoticeGreaterThan(String value) {
            addCriterion("group_buy_notice >", value, "groupBuyNotice");
            return (Criteria) this;
        }

        public Criteria andGroupBuyNoticeGreaterThanOrEqualTo(String value) {
            addCriterion("group_buy_notice >=", value, "groupBuyNotice");
            return (Criteria) this;
        }

        public Criteria andGroupBuyNoticeLessThan(String value) {
            addCriterion("group_buy_notice <", value, "groupBuyNotice");
            return (Criteria) this;
        }

        public Criteria andGroupBuyNoticeLessThanOrEqualTo(String value) {
            addCriterion("group_buy_notice <=", value, "groupBuyNotice");
            return (Criteria) this;
        }

        public Criteria andGroupBuyNoticeLike(String value) {
            addCriterion("group_buy_notice like", value, "groupBuyNotice");
            return (Criteria) this;
        }

        public Criteria andGroupBuyNoticeNotLike(String value) {
            addCriterion("group_buy_notice not like", value, "groupBuyNotice");
            return (Criteria) this;
        }

        public Criteria andGroupBuyNoticeIn(List<String> values) {
            addCriterion("group_buy_notice in", values, "groupBuyNotice");
            return (Criteria) this;
        }

        public Criteria andGroupBuyNoticeNotIn(List<String> values) {
            addCriterion("group_buy_notice not in", values, "groupBuyNotice");
            return (Criteria) this;
        }

        public Criteria andGroupBuyNoticeBetween(String value1, String value2) {
            addCriterion("group_buy_notice between", value1, value2, "groupBuyNotice");
            return (Criteria) this;
        }

        public Criteria andGroupBuyNoticeNotBetween(String value1, String value2) {
            addCriterion("group_buy_notice not between", value1, value2, "groupBuyNotice");
            return (Criteria) this;
        }

        public Criteria andIsNoticeNeedReadIsNull() {
            addCriterion("is_notice_need_read is null");
            return (Criteria) this;
        }

        public Criteria andIsNoticeNeedReadIsNotNull() {
            addCriterion("is_notice_need_read is not null");
            return (Criteria) this;
        }

        public Criteria andIsNoticeNeedReadEqualTo(Boolean value) {
            addCriterion("is_notice_need_read =", value, "isNoticeNeedRead");
            return (Criteria) this;
        }

        public Criteria andIsNoticeNeedReadNotEqualTo(Boolean value) {
            addCriterion("is_notice_need_read <>", value, "isNoticeNeedRead");
            return (Criteria) this;
        }

        public Criteria andIsNoticeNeedReadGreaterThan(Boolean value) {
            addCriterion("is_notice_need_read >", value, "isNoticeNeedRead");
            return (Criteria) this;
        }

        public Criteria andIsNoticeNeedReadGreaterThanOrEqualTo(Boolean value) {
            addCriterion("is_notice_need_read >=", value, "isNoticeNeedRead");
            return (Criteria) this;
        }

        public Criteria andIsNoticeNeedReadLessThan(Boolean value) {
            addCriterion("is_notice_need_read <", value, "isNoticeNeedRead");
            return (Criteria) this;
        }

        public Criteria andIsNoticeNeedReadLessThanOrEqualTo(Boolean value) {
            addCriterion("is_notice_need_read <=", value, "isNoticeNeedRead");
            return (Criteria) this;
        }

        public Criteria andIsNoticeNeedReadIn(List<Boolean> values) {
            addCriterion("is_notice_need_read in", values, "isNoticeNeedRead");
            return (Criteria) this;
        }

        public Criteria andIsNoticeNeedReadNotIn(List<Boolean> values) {
            addCriterion("is_notice_need_read not in", values, "isNoticeNeedRead");
            return (Criteria) this;
        }

        public Criteria andIsNoticeNeedReadBetween(Boolean value1, Boolean value2) {
            addCriterion("is_notice_need_read between", value1, value2, "isNoticeNeedRead");
            return (Criteria) this;
        }

        public Criteria andIsNoticeNeedReadNotBetween(Boolean value1, Boolean value2) {
            addCriterion("is_notice_need_read not between", value1, value2, "isNoticeNeedRead");
            return (Criteria) this;
        }

        public Criteria andCtimeIsNull() {
            addCriterion("ctime is null");
            return (Criteria) this;
        }

        public Criteria andCtimeIsNotNull() {
            addCriterion("ctime is not null");
            return (Criteria) this;
        }

        public Criteria andCtimeEqualTo(Date value) {
            addCriterion("ctime =", value, "ctime");
            return (Criteria) this;
        }

        public Criteria andCtimeNotEqualTo(Date value) {
            addCriterion("ctime <>", value, "ctime");
            return (Criteria) this;
        }

        public Criteria andCtimeGreaterThan(Date value) {
            addCriterion("ctime >", value, "ctime");
            return (Criteria) this;
        }

        public Criteria andCtimeGreaterThanOrEqualTo(Date value) {
            addCriterion("ctime >=", value, "ctime");
            return (Criteria) this;
        }

        public Criteria andCtimeLessThan(Date value) {
            addCriterion("ctime <", value, "ctime");
            return (Criteria) this;
        }

        public Criteria andCtimeLessThanOrEqualTo(Date value) {
            addCriterion("ctime <=", value, "ctime");
            return (Criteria) this;
        }

        public Criteria andCtimeIn(List<Date> values) {
            addCriterion("ctime in", values, "ctime");
            return (Criteria) this;
        }

        public Criteria andCtimeNotIn(List<Date> values) {
            addCriterion("ctime not in", values, "ctime");
            return (Criteria) this;
        }

        public Criteria andCtimeBetween(Date value1, Date value2) {
            addCriterion("ctime between", value1, value2, "ctime");
            return (Criteria) this;
        }

        public Criteria andCtimeNotBetween(Date value1, Date value2) {
            addCriterion("ctime not between", value1, value2, "ctime");
            return (Criteria) this;
        }

        public Criteria andMtimeIsNull() {
            addCriterion("mtime is null");
            return (Criteria) this;
        }

        public Criteria andMtimeIsNotNull() {
            addCriterion("mtime is not null");
            return (Criteria) this;
        }

        public Criteria andMtimeEqualTo(Date value) {
            addCriterion("mtime =", value, "mtime");
            return (Criteria) this;
        }

        public Criteria andMtimeNotEqualTo(Date value) {
            addCriterion("mtime <>", value, "mtime");
            return (Criteria) this;
        }

        public Criteria andMtimeGreaterThan(Date value) {
            addCriterion("mtime >", value, "mtime");
            return (Criteria) this;
        }

        public Criteria andMtimeGreaterThanOrEqualTo(Date value) {
            addCriterion("mtime >=", value, "mtime");
            return (Criteria) this;
        }

        public Criteria andMtimeLessThan(Date value) {
            addCriterion("mtime <", value, "mtime");
            return (Criteria) this;
        }

        public Criteria andMtimeLessThanOrEqualTo(Date value) {
            addCriterion("mtime <=", value, "mtime");
            return (Criteria) this;
        }

        public Criteria andMtimeIn(List<Date> values) {
            addCriterion("mtime in", values, "mtime");
            return (Criteria) this;
        }

        public Criteria andMtimeNotIn(List<Date> values) {
            addCriterion("mtime not in", values, "mtime");
            return (Criteria) this;
        }

        public Criteria andMtimeBetween(Date value1, Date value2) {
            addCriterion("mtime between", value1, value2, "mtime");
            return (Criteria) this;
        }

        public Criteria andMtimeNotBetween(Date value1, Date value2) {
            addCriterion("mtime not between", value1, value2, "mtime");
            return (Criteria) this;
        }

        public Criteria andTitleImg2IsNull() {
            addCriterion("title_img_2 is null");
            return (Criteria) this;
        }

        public Criteria andTitleImg2IsNotNull() {
            addCriterion("title_img_2 is not null");
            return (Criteria) this;
        }

        public Criteria andTitleImg2EqualTo(String value) {
            addCriterion("title_img_2 =", value, "titleImg2");
            return (Criteria) this;
        }

        public Criteria andTitleImg2NotEqualTo(String value) {
            addCriterion("title_img_2 <>", value, "titleImg2");
            return (Criteria) this;
        }

        public Criteria andTitleImg2GreaterThan(String value) {
            addCriterion("title_img_2 >", value, "titleImg2");
            return (Criteria) this;
        }

        public Criteria andTitleImg2GreaterThanOrEqualTo(String value) {
            addCriterion("title_img_2 >=", value, "titleImg2");
            return (Criteria) this;
        }

        public Criteria andTitleImg2LessThan(String value) {
            addCriterion("title_img_2 <", value, "titleImg2");
            return (Criteria) this;
        }

        public Criteria andTitleImg2LessThanOrEqualTo(String value) {
            addCriterion("title_img_2 <=", value, "titleImg2");
            return (Criteria) this;
        }

        public Criteria andTitleImg2Like(String value) {
            addCriterion("title_img_2 like", value, "titleImg2");
            return (Criteria) this;
        }

        public Criteria andTitleImg2NotLike(String value) {
            addCriterion("title_img_2 not like", value, "titleImg2");
            return (Criteria) this;
        }

        public Criteria andTitleImg2In(List<String> values) {
            addCriterion("title_img_2 in", values, "titleImg2");
            return (Criteria) this;
        }

        public Criteria andTitleImg2NotIn(List<String> values) {
            addCriterion("title_img_2 not in", values, "titleImg2");
            return (Criteria) this;
        }

        public Criteria andTitleImg2Between(String value1, String value2) {
            addCriterion("title_img_2 between", value1, value2, "titleImg2");
            return (Criteria) this;
        }

        public Criteria andTitleImg2NotBetween(String value1, String value2) {
            addCriterion("title_img_2 not between", value1, value2, "titleImg2");
            return (Criteria) this;
        }

        public Criteria andTitleImg3IsNull() {
            addCriterion("title_img_3 is null");
            return (Criteria) this;
        }

        public Criteria andTitleImg3IsNotNull() {
            addCriterion("title_img_3 is not null");
            return (Criteria) this;
        }

        public Criteria andTitleImg3EqualTo(String value) {
            addCriterion("title_img_3 =", value, "titleImg3");
            return (Criteria) this;
        }

        public Criteria andTitleImg3NotEqualTo(String value) {
            addCriterion("title_img_3 <>", value, "titleImg3");
            return (Criteria) this;
        }

        public Criteria andTitleImg3GreaterThan(String value) {
            addCriterion("title_img_3 >", value, "titleImg3");
            return (Criteria) this;
        }

        public Criteria andTitleImg3GreaterThanOrEqualTo(String value) {
            addCriterion("title_img_3 >=", value, "titleImg3");
            return (Criteria) this;
        }

        public Criteria andTitleImg3LessThan(String value) {
            addCriterion("title_img_3 <", value, "titleImg3");
            return (Criteria) this;
        }

        public Criteria andTitleImg3LessThanOrEqualTo(String value) {
            addCriterion("title_img_3 <=", value, "titleImg3");
            return (Criteria) this;
        }

        public Criteria andTitleImg3Like(String value) {
            addCriterion("title_img_3 like", value, "titleImg3");
            return (Criteria) this;
        }

        public Criteria andTitleImg3NotLike(String value) {
            addCriterion("title_img_3 not like", value, "titleImg3");
            return (Criteria) this;
        }

        public Criteria andTitleImg3In(List<String> values) {
            addCriterion("title_img_3 in", values, "titleImg3");
            return (Criteria) this;
        }

        public Criteria andTitleImg3NotIn(List<String> values) {
            addCriterion("title_img_3 not in", values, "titleImg3");
            return (Criteria) this;
        }

        public Criteria andTitleImg3Between(String value1, String value2) {
            addCriterion("title_img_3 between", value1, value2, "titleImg3");
            return (Criteria) this;
        }

        public Criteria andTitleImg3NotBetween(String value1, String value2) {
            addCriterion("title_img_3 not between", value1, value2, "titleImg3");
            return (Criteria) this;
        }

        public Criteria andTitleImg4IsNull() {
            addCriterion("title_img_4 is null");
            return (Criteria) this;
        }

        public Criteria andTitleImg4IsNotNull() {
            addCriterion("title_img_4 is not null");
            return (Criteria) this;
        }

        public Criteria andTitleImg4EqualTo(String value) {
            addCriterion("title_img_4 =", value, "titleImg4");
            return (Criteria) this;
        }

        public Criteria andTitleImg4NotEqualTo(String value) {
            addCriterion("title_img_4 <>", value, "titleImg4");
            return (Criteria) this;
        }

        public Criteria andTitleImg4GreaterThan(String value) {
            addCriterion("title_img_4 >", value, "titleImg4");
            return (Criteria) this;
        }

        public Criteria andTitleImg4GreaterThanOrEqualTo(String value) {
            addCriterion("title_img_4 >=", value, "titleImg4");
            return (Criteria) this;
        }

        public Criteria andTitleImg4LessThan(String value) {
            addCriterion("title_img_4 <", value, "titleImg4");
            return (Criteria) this;
        }

        public Criteria andTitleImg4LessThanOrEqualTo(String value) {
            addCriterion("title_img_4 <=", value, "titleImg4");
            return (Criteria) this;
        }

        public Criteria andTitleImg4Like(String value) {
            addCriterion("title_img_4 like", value, "titleImg4");
            return (Criteria) this;
        }

        public Criteria andTitleImg4NotLike(String value) {
            addCriterion("title_img_4 not like", value, "titleImg4");
            return (Criteria) this;
        }

        public Criteria andTitleImg4In(List<String> values) {
            addCriterion("title_img_4 in", values, "titleImg4");
            return (Criteria) this;
        }

        public Criteria andTitleImg4NotIn(List<String> values) {
            addCriterion("title_img_4 not in", values, "titleImg4");
            return (Criteria) this;
        }

        public Criteria andTitleImg4Between(String value1, String value2) {
            addCriterion("title_img_4 between", value1, value2, "titleImg4");
            return (Criteria) this;
        }

        public Criteria andTitleImg4NotBetween(String value1, String value2) {
            addCriterion("title_img_4 not between", value1, value2, "titleImg4");
            return (Criteria) this;
        }

        public Criteria andTitleImg5IsNull() {
            addCriterion("title_img_5 is null");
            return (Criteria) this;
        }

        public Criteria andTitleImg5IsNotNull() {
            addCriterion("title_img_5 is not null");
            return (Criteria) this;
        }

        public Criteria andTitleImg5EqualTo(String value) {
            addCriterion("title_img_5 =", value, "titleImg5");
            return (Criteria) this;
        }

        public Criteria andTitleImg5NotEqualTo(String value) {
            addCriterion("title_img_5 <>", value, "titleImg5");
            return (Criteria) this;
        }

        public Criteria andTitleImg5GreaterThan(String value) {
            addCriterion("title_img_5 >", value, "titleImg5");
            return (Criteria) this;
        }

        public Criteria andTitleImg5GreaterThanOrEqualTo(String value) {
            addCriterion("title_img_5 >=", value, "titleImg5");
            return (Criteria) this;
        }

        public Criteria andTitleImg5LessThan(String value) {
            addCriterion("title_img_5 <", value, "titleImg5");
            return (Criteria) this;
        }

        public Criteria andTitleImg5LessThanOrEqualTo(String value) {
            addCriterion("title_img_5 <=", value, "titleImg5");
            return (Criteria) this;
        }

        public Criteria andTitleImg5Like(String value) {
            addCriterion("title_img_5 like", value, "titleImg5");
            return (Criteria) this;
        }

        public Criteria andTitleImg5NotLike(String value) {
            addCriterion("title_img_5 not like", value, "titleImg5");
            return (Criteria) this;
        }

        public Criteria andTitleImg5In(List<String> values) {
            addCriterion("title_img_5 in", values, "titleImg5");
            return (Criteria) this;
        }

        public Criteria andTitleImg5NotIn(List<String> values) {
            addCriterion("title_img_5 not in", values, "titleImg5");
            return (Criteria) this;
        }

        public Criteria andTitleImg5Between(String value1, String value2) {
            addCriterion("title_img_5 between", value1, value2, "titleImg5");
            return (Criteria) this;
        }

        public Criteria andTitleImg5NotBetween(String value1, String value2) {
            addCriterion("title_img_5 not between", value1, value2, "titleImg5");
            return (Criteria) this;
        }

        public Criteria andBodyImg1IsNull() {
            addCriterion("body_img_1 is null");
            return (Criteria) this;
        }

        public Criteria andBodyImg1IsNotNull() {
            addCriterion("body_img_1 is not null");
            return (Criteria) this;
        }

        public Criteria andBodyImg1EqualTo(String value) {
            addCriterion("body_img_1 =", value, "bodyImg1");
            return (Criteria) this;
        }

        public Criteria andBodyImg1NotEqualTo(String value) {
            addCriterion("body_img_1 <>", value, "bodyImg1");
            return (Criteria) this;
        }

        public Criteria andBodyImg1GreaterThan(String value) {
            addCriterion("body_img_1 >", value, "bodyImg1");
            return (Criteria) this;
        }

        public Criteria andBodyImg1GreaterThanOrEqualTo(String value) {
            addCriterion("body_img_1 >=", value, "bodyImg1");
            return (Criteria) this;
        }

        public Criteria andBodyImg1LessThan(String value) {
            addCriterion("body_img_1 <", value, "bodyImg1");
            return (Criteria) this;
        }

        public Criteria andBodyImg1LessThanOrEqualTo(String value) {
            addCriterion("body_img_1 <=", value, "bodyImg1");
            return (Criteria) this;
        }

        public Criteria andBodyImg1Like(String value) {
            addCriterion("body_img_1 like", value, "bodyImg1");
            return (Criteria) this;
        }

        public Criteria andBodyImg1NotLike(String value) {
            addCriterion("body_img_1 not like", value, "bodyImg1");
            return (Criteria) this;
        }

        public Criteria andBodyImg1In(List<String> values) {
            addCriterion("body_img_1 in", values, "bodyImg1");
            return (Criteria) this;
        }

        public Criteria andBodyImg1NotIn(List<String> values) {
            addCriterion("body_img_1 not in", values, "bodyImg1");
            return (Criteria) this;
        }

        public Criteria andBodyImg1Between(String value1, String value2) {
            addCriterion("body_img_1 between", value1, value2, "bodyImg1");
            return (Criteria) this;
        }

        public Criteria andBodyImg1NotBetween(String value1, String value2) {
            addCriterion("body_img_1 not between", value1, value2, "bodyImg1");
            return (Criteria) this;
        }

        public Criteria andFreightIsNull() {
            addCriterion("freight is null");
            return (Criteria) this;
        }

        public Criteria andFreightIsNotNull() {
            addCriterion("freight is not null");
            return (Criteria) this;
        }

        public Criteria andFreightEqualTo(BigDecimal value) {
            addCriterion("freight =", value, "freight");
            return (Criteria) this;
        }

        public Criteria andFreightNotEqualTo(BigDecimal value) {
            addCriterion("freight <>", value, "freight");
            return (Criteria) this;
        }

        public Criteria andFreightGreaterThan(BigDecimal value) {
            addCriterion("freight >", value, "freight");
            return (Criteria) this;
        }

        public Criteria andFreightGreaterThanOrEqualTo(BigDecimal value) {
            addCriterion("freight >=", value, "freight");
            return (Criteria) this;
        }

        public Criteria andFreightLessThan(BigDecimal value) {
            addCriterion("freight <", value, "freight");
            return (Criteria) this;
        }

        public Criteria andFreightLessThanOrEqualTo(BigDecimal value) {
            addCriterion("freight <=", value, "freight");
            return (Criteria) this;
        }

        public Criteria andFreightIn(List<BigDecimal> values) {
            addCriterion("freight in", values, "freight");
            return (Criteria) this;
        }

        public Criteria andFreightNotIn(List<BigDecimal> values) {
            addCriterion("freight not in", values, "freight");
            return (Criteria) this;
        }

        public Criteria andFreightBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("freight between", value1, value2, "freight");
            return (Criteria) this;
        }

        public Criteria andFreightNotBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("freight not between", value1, value2, "freight");
            return (Criteria) this;
        }

        public Criteria andPromIdIsNull() {
            addCriterion("prom_id is null");
            return (Criteria) this;
        }

        public Criteria andPromIdIsNotNull() {
            addCriterion("prom_id is not null");
            return (Criteria) this;
        }

        public Criteria andPromIdEqualTo(Long value) {
            addCriterion("prom_id =", value, "promId");
            return (Criteria) this;
        }

        public Criteria andPromIdNotEqualTo(Long value) {
            addCriterion("prom_id <>", value, "promId");
            return (Criteria) this;
        }

        public Criteria andPromIdGreaterThan(Long value) {
            addCriterion("prom_id >", value, "promId");
            return (Criteria) this;
        }

        public Criteria andPromIdGreaterThanOrEqualTo(Long value) {
            addCriterion("prom_id >=", value, "promId");
            return (Criteria) this;
        }

        public Criteria andPromIdLessThan(Long value) {
            addCriterion("prom_id <", value, "promId");
            return (Criteria) this;
        }

        public Criteria andPromIdLessThanOrEqualTo(Long value) {
            addCriterion("prom_id <=", value, "promId");
            return (Criteria) this;
        }

        public Criteria andPromIdIn(List<Long> values) {
            addCriterion("prom_id in", values, "promId");
            return (Criteria) this;
        }

        public Criteria andPromIdNotIn(List<Long> values) {
            addCriterion("prom_id not in", values, "promId");
            return (Criteria) this;
        }

        public Criteria andPromIdBetween(Long value1, Long value2) {
            addCriterion("prom_id between", value1, value2, "promId");
            return (Criteria) this;
        }

        public Criteria andPromIdNotBetween(Long value1, Long value2) {
            addCriterion("prom_id not between", value1, value2, "promId");
            return (Criteria) this;
        }

        public Criteria andLeaderDiscountIsNull() {
            addCriterion("leader_discount is null");
            return (Criteria) this;
        }

        public Criteria andLeaderDiscountIsNotNull() {
            addCriterion("leader_discount is not null");
            return (Criteria) this;
        }

        public Criteria andLeaderDiscountEqualTo(BigDecimal value) {
            addCriterion("leader_discount =", value, "leaderDiscount");
            return (Criteria) this;
        }

        public Criteria andLeaderDiscountNotEqualTo(BigDecimal value) {
            addCriterion("leader_discount <>", value, "leaderDiscount");
            return (Criteria) this;
        }

        public Criteria andLeaderDiscountGreaterThan(BigDecimal value) {
            addCriterion("leader_discount >", value, "leaderDiscount");
            return (Criteria) this;
        }

        public Criteria andLeaderDiscountGreaterThanOrEqualTo(BigDecimal value) {
            addCriterion("leader_discount >=", value, "leaderDiscount");
            return (Criteria) this;
        }

        public Criteria andLeaderDiscountLessThan(BigDecimal value) {
            addCriterion("leader_discount <", value, "leaderDiscount");
            return (Criteria) this;
        }

        public Criteria andLeaderDiscountLessThanOrEqualTo(BigDecimal value) {
            addCriterion("leader_discount <=", value, "leaderDiscount");
            return (Criteria) this;
        }

        public Criteria andLeaderDiscountIn(List<BigDecimal> values) {
            addCriterion("leader_discount in", values, "leaderDiscount");
            return (Criteria) this;
        }

        public Criteria andLeaderDiscountNotIn(List<BigDecimal> values) {
            addCriterion("leader_discount not in", values, "leaderDiscount");
            return (Criteria) this;
        }

        public Criteria andLeaderDiscountBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("leader_discount between", value1, value2, "leaderDiscount");
            return (Criteria) this;
        }

        public Criteria andLeaderDiscountNotBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("leader_discount not between", value1, value2, "leaderDiscount");
            return (Criteria) this;
        }

        public Criteria andOrderNoIsNull() {
            addCriterion("order_no is null");
            return (Criteria) this;
        }

        public Criteria andOrderNoIsNotNull() {
            addCriterion("order_no is not null");
            return (Criteria) this;
        }

        public Criteria andOrderNoEqualTo(Integer value) {
            addCriterion("order_no =", value, "orderNo");
            return (Criteria) this;
        }

        public Criteria andOrderNoNotEqualTo(Integer value) {
            addCriterion("order_no <>", value, "orderNo");
            return (Criteria) this;
        }

        public Criteria andOrderNoGreaterThan(Integer value) {
            addCriterion("order_no >", value, "orderNo");
            return (Criteria) this;
        }

        public Criteria andOrderNoGreaterThanOrEqualTo(Integer value) {
            addCriterion("order_no >=", value, "orderNo");
            return (Criteria) this;
        }

        public Criteria andOrderNoLessThan(Integer value) {
            addCriterion("order_no <", value, "orderNo");
            return (Criteria) this;
        }

        public Criteria andOrderNoLessThanOrEqualTo(Integer value) {
            addCriterion("order_no <=", value, "orderNo");
            return (Criteria) this;
        }

        public Criteria andOrderNoIn(List<Integer> values) {
            addCriterion("order_no in", values, "orderNo");
            return (Criteria) this;
        }

        public Criteria andOrderNoNotIn(List<Integer> values) {
            addCriterion("order_no not in", values, "orderNo");
            return (Criteria) this;
        }

        public Criteria andOrderNoBetween(Integer value1, Integer value2) {
            addCriterion("order_no between", value1, value2, "orderNo");
            return (Criteria) this;
        }

        public Criteria andOrderNoNotBetween(Integer value1, Integer value2) {
            addCriterion("order_no not between", value1, value2, "orderNo");
            return (Criteria) this;
        }

        public Criteria andServiceInfoIsNull() {
            addCriterion("service_info is null");
            return (Criteria) this;
        }

        public Criteria andServiceInfoIsNotNull() {
            addCriterion("service_info is not null");
            return (Criteria) this;
        }

        public Criteria andServiceInfoEqualTo(String value) {
            addCriterion("service_info =", value, "serviceInfo");
            return (Criteria) this;
        }

        public Criteria andServiceInfoNotEqualTo(String value) {
            addCriterion("service_info <>", value, "serviceInfo");
            return (Criteria) this;
        }

        public Criteria andServiceInfoGreaterThan(String value) {
            addCriterion("service_info >", value, "serviceInfo");
            return (Criteria) this;
        }

        public Criteria andServiceInfoGreaterThanOrEqualTo(String value) {
            addCriterion("service_info >=", value, "serviceInfo");
            return (Criteria) this;
        }

        public Criteria andServiceInfoLessThan(String value) {
            addCriterion("service_info <", value, "serviceInfo");
            return (Criteria) this;
        }

        public Criteria andServiceInfoLessThanOrEqualTo(String value) {
            addCriterion("service_info <=", value, "serviceInfo");
            return (Criteria) this;
        }

        public Criteria andServiceInfoLike(String value) {
            addCriterion("service_info like", value, "serviceInfo");
            return (Criteria) this;
        }

        public Criteria andServiceInfoNotLike(String value) {
            addCriterion("service_info not like", value, "serviceInfo");
            return (Criteria) this;
        }

        public Criteria andServiceInfoIn(List<String> values) {
            addCriterion("service_info in", values, "serviceInfo");
            return (Criteria) this;
        }

        public Criteria andServiceInfoNotIn(List<String> values) {
            addCriterion("service_info not in", values, "serviceInfo");
            return (Criteria) this;
        }

        public Criteria andServiceInfoBetween(String value1, String value2) {
            addCriterion("service_info between", value1, value2, "serviceInfo");
            return (Criteria) this;
        }

        public Criteria andServiceInfoNotBetween(String value1, String value2) {
            addCriterion("service_info not between", value1, value2, "serviceInfo");
            return (Criteria) this;
        }

        public Criteria andMaxGroupNumIsNull() {
            addCriterion("max_group_num is null");
            return (Criteria) this;
        }

        public Criteria andMaxGroupNumIsNotNull() {
            addCriterion("max_group_num is not null");
            return (Criteria) this;
        }

        public Criteria andMaxGroupNumEqualTo(Long value) {
            addCriterion("max_group_num =", value, "maxGroupNum");
            return (Criteria) this;
        }

        public Criteria andMaxGroupNumNotEqualTo(Long value) {
            addCriterion("max_group_num <>", value, "maxGroupNum");
            return (Criteria) this;
        }

        public Criteria andMaxGroupNumGreaterThan(Long value) {
            addCriterion("max_group_num >", value, "maxGroupNum");
            return (Criteria) this;
        }

        public Criteria andMaxGroupNumGreaterThanOrEqualTo(Long value) {
            addCriterion("max_group_num >=", value, "maxGroupNum");
            return (Criteria) this;
        }

        public Criteria andMaxGroupNumLessThan(Long value) {
            addCriterion("max_group_num <", value, "maxGroupNum");
            return (Criteria) this;
        }

        public Criteria andMaxGroupNumLessThanOrEqualTo(Long value) {
            addCriterion("max_group_num <=", value, "maxGroupNum");
            return (Criteria) this;
        }

        public Criteria andMaxGroupNumIn(List<Long> values) {
            addCriterion("max_group_num in", values, "maxGroupNum");
            return (Criteria) this;
        }

        public Criteria andMaxGroupNumNotIn(List<Long> values) {
            addCriterion("max_group_num not in", values, "maxGroupNum");
            return (Criteria) this;
        }

        public Criteria andMaxGroupNumBetween(Long value1, Long value2) {
            addCriterion("max_group_num between", value1, value2, "maxGroupNum");
            return (Criteria) this;
        }

        public Criteria andMaxGroupNumNotBetween(Long value1, Long value2) {
            addCriterion("max_group_num not between", value1, value2, "maxGroupNum");
            return (Criteria) this;
        }

        public Criteria andDeliveryModeIsNull() {
            addCriterion("delivery_mode is null");
            return (Criteria) this;
        }

        public Criteria andDeliveryModeIsNotNull() {
            addCriterion("delivery_mode is not null");
            return (Criteria) this;
        }

        public Criteria andDeliveryModeEqualTo(Integer value) {
            addCriterion("delivery_mode =", value, "deliveryMode");
            return (Criteria) this;
        }

        public Criteria andDeliveryModeNotEqualTo(Integer value) {
            addCriterion("delivery_mode <>", value, "deliveryMode");
            return (Criteria) this;
        }

        public Criteria andDeliveryModeGreaterThan(Integer value) {
            addCriterion("delivery_mode >", value, "deliveryMode");
            return (Criteria) this;
        }

        public Criteria andDeliveryModeGreaterThanOrEqualTo(Integer value) {
            addCriterion("delivery_mode >=", value, "deliveryMode");
            return (Criteria) this;
        }

        public Criteria andDeliveryModeLessThan(Integer value) {
            addCriterion("delivery_mode <", value, "deliveryMode");
            return (Criteria) this;
        }

        public Criteria andDeliveryModeLessThanOrEqualTo(Integer value) {
            addCriterion("delivery_mode <=", value, "deliveryMode");
            return (Criteria) this;
        }

        public Criteria andDeliveryModeIn(List<Integer> values) {
            addCriterion("delivery_mode in", values, "deliveryMode");
            return (Criteria) this;
        }

        public Criteria andDeliveryModeNotIn(List<Integer> values) {
            addCriterion("delivery_mode not in", values, "deliveryMode");
            return (Criteria) this;
        }

        public Criteria andDeliveryModeBetween(Integer value1, Integer value2) {
            addCriterion("delivery_mode between", value1, value2, "deliveryMode");
            return (Criteria) this;
        }

        public Criteria andDeliveryModeNotBetween(Integer value1, Integer value2) {
            addCriterion("delivery_mode not between", value1, value2, "deliveryMode");
            return (Criteria) this;
        }

        public Criteria andShowBegDateIsNull() {
            addCriterion("show_beg_date is null");
            return (Criteria) this;
        }

        public Criteria andShowBegDateIsNotNull() {
            addCriterion("show_beg_date is not null");
            return (Criteria) this;
        }

        public Criteria andShowBegDateEqualTo(Date value) {
            addCriterion("show_beg_date =", value, "showBegDate");
            return (Criteria) this;
        }

        public Criteria andShowBegDateNotEqualTo(Date value) {
            addCriterion("show_beg_date <>", value, "showBegDate");
            return (Criteria) this;
        }

        public Criteria andShowBegDateGreaterThan(Date value) {
            addCriterion("show_beg_date >", value, "showBegDate");
            return (Criteria) this;
        }

        public Criteria andShowBegDateGreaterThanOrEqualTo(Date value) {
            addCriterion("show_beg_date >=", value, "showBegDate");
            return (Criteria) this;
        }

        public Criteria andShowBegDateLessThan(Date value) {
            addCriterion("show_beg_date <", value, "showBegDate");
            return (Criteria) this;
        }

        public Criteria andShowBegDateLessThanOrEqualTo(Date value) {
            addCriterion("show_beg_date <=", value, "showBegDate");
            return (Criteria) this;
        }

        public Criteria andShowBegDateIn(List<Date> values) {
            addCriterion("show_beg_date in", values, "showBegDate");
            return (Criteria) this;
        }

        public Criteria andShowBegDateNotIn(List<Date> values) {
            addCriterion("show_beg_date not in", values, "showBegDate");
            return (Criteria) this;
        }

        public Criteria andShowBegDateBetween(Date value1, Date value2) {
            addCriterion("show_beg_date between", value1, value2, "showBegDate");
            return (Criteria) this;
        }

        public Criteria andShowBegDateNotBetween(Date value1, Date value2) {
            addCriterion("show_beg_date not between", value1, value2, "showBegDate");
            return (Criteria) this;
        }

        public Criteria andShowEndDateIsNull() {
            addCriterion("show_end_date is null");
            return (Criteria) this;
        }

        public Criteria andShowEndDateIsNotNull() {
            addCriterion("show_end_date is not null");
            return (Criteria) this;
        }

        public Criteria andShowEndDateEqualTo(Date value) {
            addCriterion("show_end_date =", value, "showEndDate");
            return (Criteria) this;
        }

        public Criteria andShowEndDateNotEqualTo(Date value) {
            addCriterion("show_end_date <>", value, "showEndDate");
            return (Criteria) this;
        }

        public Criteria andShowEndDateGreaterThan(Date value) {
            addCriterion("show_end_date >", value, "showEndDate");
            return (Criteria) this;
        }

        public Criteria andShowEndDateGreaterThanOrEqualTo(Date value) {
            addCriterion("show_end_date >=", value, "showEndDate");
            return (Criteria) this;
        }

        public Criteria andShowEndDateLessThan(Date value) {
            addCriterion("show_end_date <", value, "showEndDate");
            return (Criteria) this;
        }

        public Criteria andShowEndDateLessThanOrEqualTo(Date value) {
            addCriterion("show_end_date <=", value, "showEndDate");
            return (Criteria) this;
        }

        public Criteria andShowEndDateIn(List<Date> values) {
            addCriterion("show_end_date in", values, "showEndDate");
            return (Criteria) this;
        }

        public Criteria andShowEndDateNotIn(List<Date> values) {
            addCriterion("show_end_date not in", values, "showEndDate");
            return (Criteria) this;
        }

        public Criteria andShowEndDateBetween(Date value1, Date value2) {
            addCriterion("show_end_date between", value1, value2, "showEndDate");
            return (Criteria) this;
        }

        public Criteria andShowEndDateNotBetween(Date value1, Date value2) {
            addCriterion("show_end_date not between", value1, value2, "showEndDate");
            return (Criteria) this;
        }

        public Criteria andBuyBegDateIsNull() {
            addCriterion("buy_beg_date is null");
            return (Criteria) this;
        }

        public Criteria andBuyBegDateIsNotNull() {
            addCriterion("buy_beg_date is not null");
            return (Criteria) this;
        }

        public Criteria andBuyBegDateEqualTo(Date value) {
            addCriterion("buy_beg_date =", value, "buyBegDate");
            return (Criteria) this;
        }

        public Criteria andBuyBegDateNotEqualTo(Date value) {
            addCriterion("buy_beg_date <>", value, "buyBegDate");
            return (Criteria) this;
        }

        public Criteria andBuyBegDateGreaterThan(Date value) {
            addCriterion("buy_beg_date >", value, "buyBegDate");
            return (Criteria) this;
        }

        public Criteria andBuyBegDateGreaterThanOrEqualTo(Date value) {
            addCriterion("buy_beg_date >=", value, "buyBegDate");
            return (Criteria) this;
        }

        public Criteria andBuyBegDateLessThan(Date value) {
            addCriterion("buy_beg_date <", value, "buyBegDate");
            return (Criteria) this;
        }

        public Criteria andBuyBegDateLessThanOrEqualTo(Date value) {
            addCriterion("buy_beg_date <=", value, "buyBegDate");
            return (Criteria) this;
        }

        public Criteria andBuyBegDateIn(List<Date> values) {
            addCriterion("buy_beg_date in", values, "buyBegDate");
            return (Criteria) this;
        }

        public Criteria andBuyBegDateNotIn(List<Date> values) {
            addCriterion("buy_beg_date not in", values, "buyBegDate");
            return (Criteria) this;
        }

        public Criteria andBuyBegDateBetween(Date value1, Date value2) {
            addCriterion("buy_beg_date between", value1, value2, "buyBegDate");
            return (Criteria) this;
        }

        public Criteria andBuyBegDateNotBetween(Date value1, Date value2) {
            addCriterion("buy_beg_date not between", value1, value2, "buyBegDate");
            return (Criteria) this;
        }

        public Criteria andBuyEndDateIsNull() {
            addCriterion("buy_end_date is null");
            return (Criteria) this;
        }

        public Criteria andBuyEndDateIsNotNull() {
            addCriterion("buy_end_date is not null");
            return (Criteria) this;
        }

        public Criteria andBuyEndDateEqualTo(Date value) {
            addCriterion("buy_end_date =", value, "buyEndDate");
            return (Criteria) this;
        }

        public Criteria andBuyEndDateNotEqualTo(Date value) {
            addCriterion("buy_end_date <>", value, "buyEndDate");
            return (Criteria) this;
        }

        public Criteria andBuyEndDateGreaterThan(Date value) {
            addCriterion("buy_end_date >", value, "buyEndDate");
            return (Criteria) this;
        }

        public Criteria andBuyEndDateGreaterThanOrEqualTo(Date value) {
            addCriterion("buy_end_date >=", value, "buyEndDate");
            return (Criteria) this;
        }

        public Criteria andBuyEndDateLessThan(Date value) {
            addCriterion("buy_end_date <", value, "buyEndDate");
            return (Criteria) this;
        }

        public Criteria andBuyEndDateLessThanOrEqualTo(Date value) {
            addCriterion("buy_end_date <=", value, "buyEndDate");
            return (Criteria) this;
        }

        public Criteria andBuyEndDateIn(List<Date> values) {
            addCriterion("buy_end_date in", values, "buyEndDate");
            return (Criteria) this;
        }

        public Criteria andBuyEndDateNotIn(List<Date> values) {
            addCriterion("buy_end_date not in", values, "buyEndDate");
            return (Criteria) this;
        }

        public Criteria andBuyEndDateBetween(Date value1, Date value2) {
            addCriterion("buy_end_date between", value1, value2, "buyEndDate");
            return (Criteria) this;
        }

        public Criteria andBuyEndDateNotBetween(Date value1, Date value2) {
            addCriterion("buy_end_date not between", value1, value2, "buyEndDate");
            return (Criteria) this;
        }

        public Criteria andDayLimitIsNull() {
            addCriterion("day_limit is null");
            return (Criteria) this;
        }

        public Criteria andDayLimitIsNotNull() {
            addCriterion("day_limit is not null");
            return (Criteria) this;
        }

        public Criteria andDayLimitEqualTo(Integer value) {
            addCriterion("day_limit =", value, "dayLimit");
            return (Criteria) this;
        }

        public Criteria andDayLimitNotEqualTo(Integer value) {
            addCriterion("day_limit <>", value, "dayLimit");
            return (Criteria) this;
        }

        public Criteria andDayLimitGreaterThan(Integer value) {
            addCriterion("day_limit >", value, "dayLimit");
            return (Criteria) this;
        }

        public Criteria andDayLimitGreaterThanOrEqualTo(Integer value) {
            addCriterion("day_limit >=", value, "dayLimit");
            return (Criteria) this;
        }

        public Criteria andDayLimitLessThan(Integer value) {
            addCriterion("day_limit <", value, "dayLimit");
            return (Criteria) this;
        }

        public Criteria andDayLimitLessThanOrEqualTo(Integer value) {
            addCriterion("day_limit <=", value, "dayLimit");
            return (Criteria) this;
        }

        public Criteria andDayLimitIn(List<Integer> values) {
            addCriterion("day_limit in", values, "dayLimit");
            return (Criteria) this;
        }

        public Criteria andDayLimitNotIn(List<Integer> values) {
            addCriterion("day_limit not in", values, "dayLimit");
            return (Criteria) this;
        }

        public Criteria andDayLimitBetween(Integer value1, Integer value2) {
            addCriterion("day_limit between", value1, value2, "dayLimit");
            return (Criteria) this;
        }

        public Criteria andDayLimitNotBetween(Integer value1, Integer value2) {
            addCriterion("day_limit not between", value1, value2, "dayLimit");
            return (Criteria) this;
        }

        public Criteria andTimesLimitIsNull() {
            addCriterion("times_limit is null");
            return (Criteria) this;
        }

        public Criteria andTimesLimitIsNotNull() {
            addCriterion("times_limit is not null");
            return (Criteria) this;
        }

        public Criteria andTimesLimitEqualTo(Integer value) {
            addCriterion("times_limit =", value, "timesLimit");
            return (Criteria) this;
        }

        public Criteria andTimesLimitNotEqualTo(Integer value) {
            addCriterion("times_limit <>", value, "timesLimit");
            return (Criteria) this;
        }

        public Criteria andTimesLimitGreaterThan(Integer value) {
            addCriterion("times_limit >", value, "timesLimit");
            return (Criteria) this;
        }

        public Criteria andTimesLimitGreaterThanOrEqualTo(Integer value) {
            addCriterion("times_limit >=", value, "timesLimit");
            return (Criteria) this;
        }

        public Criteria andTimesLimitLessThan(Integer value) {
            addCriterion("times_limit <", value, "timesLimit");
            return (Criteria) this;
        }

        public Criteria andTimesLimitLessThanOrEqualTo(Integer value) {
            addCriterion("times_limit <=", value, "timesLimit");
            return (Criteria) this;
        }

        public Criteria andTimesLimitIn(List<Integer> values) {
            addCriterion("times_limit in", values, "timesLimit");
            return (Criteria) this;
        }

        public Criteria andTimesLimitNotIn(List<Integer> values) {
            addCriterion("times_limit not in", values, "timesLimit");
            return (Criteria) this;
        }

        public Criteria andTimesLimitBetween(Integer value1, Integer value2) {
            addCriterion("times_limit between", value1, value2, "timesLimit");
            return (Criteria) this;
        }

        public Criteria andTimesLimitNotBetween(Integer value1, Integer value2) {
            addCriterion("times_limit not between", value1, value2, "timesLimit");
            return (Criteria) this;
        }

        public Criteria andEffectiveBegFlagIsNull() {
            addCriterion("effective_beg_flag is null");
            return (Criteria) this;
        }

        public Criteria andEffectiveBegFlagIsNotNull() {
            addCriterion("effective_beg_flag is not null");
            return (Criteria) this;
        }

        public Criteria andEffectiveBegFlagEqualTo(Integer value) {
            addCriterion("effective_beg_flag =", value, "effectiveBegFlag");
            return (Criteria) this;
        }

        public Criteria andEffectiveBegFlagNotEqualTo(Integer value) {
            addCriterion("effective_beg_flag <>", value, "effectiveBegFlag");
            return (Criteria) this;
        }

        public Criteria andEffectiveBegFlagGreaterThan(Integer value) {
            addCriterion("effective_beg_flag >", value, "effectiveBegFlag");
            return (Criteria) this;
        }

        public Criteria andEffectiveBegFlagGreaterThanOrEqualTo(Integer value) {
            addCriterion("effective_beg_flag >=", value, "effectiveBegFlag");
            return (Criteria) this;
        }

        public Criteria andEffectiveBegFlagLessThan(Integer value) {
            addCriterion("effective_beg_flag <", value, "effectiveBegFlag");
            return (Criteria) this;
        }

        public Criteria andEffectiveBegFlagLessThanOrEqualTo(Integer value) {
            addCriterion("effective_beg_flag <=", value, "effectiveBegFlag");
            return (Criteria) this;
        }

        public Criteria andEffectiveBegFlagIn(List<Integer> values) {
            addCriterion("effective_beg_flag in", values, "effectiveBegFlag");
            return (Criteria) this;
        }

        public Criteria andEffectiveBegFlagNotIn(List<Integer> values) {
            addCriterion("effective_beg_flag not in", values, "effectiveBegFlag");
            return (Criteria) this;
        }

        public Criteria andEffectiveBegFlagBetween(Integer value1, Integer value2) {
            addCriterion("effective_beg_flag between", value1, value2, "effectiveBegFlag");
            return (Criteria) this;
        }

        public Criteria andEffectiveBegFlagNotBetween(Integer value1, Integer value2) {
            addCriterion("effective_beg_flag not between", value1, value2, "effectiveBegFlag");
            return (Criteria) this;
        }

        public Criteria andEffectiveEndFlagIsNull() {
            addCriterion("effective_end_flag is null");
            return (Criteria) this;
        }

        public Criteria andEffectiveEndFlagIsNotNull() {
            addCriterion("effective_end_flag is not null");
            return (Criteria) this;
        }

        public Criteria andEffectiveEndFlagEqualTo(Integer value) {
            addCriterion("effective_end_flag =", value, "effectiveEndFlag");
            return (Criteria) this;
        }

        public Criteria andEffectiveEndFlagNotEqualTo(Integer value) {
            addCriterion("effective_end_flag <>", value, "effectiveEndFlag");
            return (Criteria) this;
        }

        public Criteria andEffectiveEndFlagGreaterThan(Integer value) {
            addCriterion("effective_end_flag >", value, "effectiveEndFlag");
            return (Criteria) this;
        }

        public Criteria andEffectiveEndFlagGreaterThanOrEqualTo(Integer value) {
            addCriterion("effective_end_flag >=", value, "effectiveEndFlag");
            return (Criteria) this;
        }

        public Criteria andEffectiveEndFlagLessThan(Integer value) {
            addCriterion("effective_end_flag <", value, "effectiveEndFlag");
            return (Criteria) this;
        }

        public Criteria andEffectiveEndFlagLessThanOrEqualTo(Integer value) {
            addCriterion("effective_end_flag <=", value, "effectiveEndFlag");
            return (Criteria) this;
        }

        public Criteria andEffectiveEndFlagIn(List<Integer> values) {
            addCriterion("effective_end_flag in", values, "effectiveEndFlag");
            return (Criteria) this;
        }

        public Criteria andEffectiveEndFlagNotIn(List<Integer> values) {
            addCriterion("effective_end_flag not in", values, "effectiveEndFlag");
            return (Criteria) this;
        }

        public Criteria andEffectiveEndFlagBetween(Integer value1, Integer value2) {
            addCriterion("effective_end_flag between", value1, value2, "effectiveEndFlag");
            return (Criteria) this;
        }

        public Criteria andEffectiveEndFlagNotBetween(Integer value1, Integer value2) {
            addCriterion("effective_end_flag not between", value1, value2, "effectiveEndFlag");
            return (Criteria) this;
        }

        public Criteria andEffectiveBegDateIsNull() {
            addCriterion("effective_beg_date is null");
            return (Criteria) this;
        }

        public Criteria andEffectiveBegDateIsNotNull() {
            addCriterion("effective_beg_date is not null");
            return (Criteria) this;
        }

        public Criteria andEffectiveBegDateEqualTo(Date value) {
            addCriterion("effective_beg_date =", value, "effectiveBegDate");
            return (Criteria) this;
        }

        public Criteria andEffectiveBegDateNotEqualTo(Date value) {
            addCriterion("effective_beg_date <>", value, "effectiveBegDate");
            return (Criteria) this;
        }

        public Criteria andEffectiveBegDateGreaterThan(Date value) {
            addCriterion("effective_beg_date >", value, "effectiveBegDate");
            return (Criteria) this;
        }

        public Criteria andEffectiveBegDateGreaterThanOrEqualTo(Date value) {
            addCriterion("effective_beg_date >=", value, "effectiveBegDate");
            return (Criteria) this;
        }

        public Criteria andEffectiveBegDateLessThan(Date value) {
            addCriterion("effective_beg_date <", value, "effectiveBegDate");
            return (Criteria) this;
        }

        public Criteria andEffectiveBegDateLessThanOrEqualTo(Date value) {
            addCriterion("effective_beg_date <=", value, "effectiveBegDate");
            return (Criteria) this;
        }

        public Criteria andEffectiveBegDateIn(List<Date> values) {
            addCriterion("effective_beg_date in", values, "effectiveBegDate");
            return (Criteria) this;
        }

        public Criteria andEffectiveBegDateNotIn(List<Date> values) {
            addCriterion("effective_beg_date not in", values, "effectiveBegDate");
            return (Criteria) this;
        }

        public Criteria andEffectiveBegDateBetween(Date value1, Date value2) {
            addCriterion("effective_beg_date between", value1, value2, "effectiveBegDate");
            return (Criteria) this;
        }

        public Criteria andEffectiveBegDateNotBetween(Date value1, Date value2) {
            addCriterion("effective_beg_date not between", value1, value2, "effectiveBegDate");
            return (Criteria) this;
        }

        public Criteria andEffectiveEndDateIsNull() {
            addCriterion("effective_end_date is null");
            return (Criteria) this;
        }

        public Criteria andEffectiveEndDateIsNotNull() {
            addCriterion("effective_end_date is not null");
            return (Criteria) this;
        }

        public Criteria andEffectiveEndDateEqualTo(Date value) {
            addCriterion("effective_end_date =", value, "effectiveEndDate");
            return (Criteria) this;
        }

        public Criteria andEffectiveEndDateNotEqualTo(Date value) {
            addCriterion("effective_end_date <>", value, "effectiveEndDate");
            return (Criteria) this;
        }

        public Criteria andEffectiveEndDateGreaterThan(Date value) {
            addCriterion("effective_end_date >", value, "effectiveEndDate");
            return (Criteria) this;
        }

        public Criteria andEffectiveEndDateGreaterThanOrEqualTo(Date value) {
            addCriterion("effective_end_date >=", value, "effectiveEndDate");
            return (Criteria) this;
        }

        public Criteria andEffectiveEndDateLessThan(Date value) {
            addCriterion("effective_end_date <", value, "effectiveEndDate");
            return (Criteria) this;
        }

        public Criteria andEffectiveEndDateLessThanOrEqualTo(Date value) {
            addCriterion("effective_end_date <=", value, "effectiveEndDate");
            return (Criteria) this;
        }

        public Criteria andEffectiveEndDateIn(List<Date> values) {
            addCriterion("effective_end_date in", values, "effectiveEndDate");
            return (Criteria) this;
        }

        public Criteria andEffectiveEndDateNotIn(List<Date> values) {
            addCriterion("effective_end_date not in", values, "effectiveEndDate");
            return (Criteria) this;
        }

        public Criteria andEffectiveEndDateBetween(Date value1, Date value2) {
            addCriterion("effective_end_date between", value1, value2, "effectiveEndDate");
            return (Criteria) this;
        }

        public Criteria andEffectiveEndDateNotBetween(Date value1, Date value2) {
            addCriterion("effective_end_date not between", value1, value2, "effectiveEndDate");
            return (Criteria) this;
        }

        public Criteria andGoodsDetailsIsNull() {
            addCriterion("goods_details is null");
            return (Criteria) this;
        }

        public Criteria andGoodsDetailsIsNotNull() {
            addCriterion("goods_details is not null");
            return (Criteria) this;
        }

        public Criteria andGoodsDetailsEqualTo(String value) {
            addCriterion("goods_details =", value, "goodsDetails");
            return (Criteria) this;
        }

        public Criteria andGoodsDetailsNotEqualTo(String value) {
            addCriterion("goods_details <>", value, "goodsDetails");
            return (Criteria) this;
        }

        public Criteria andGoodsDetailsGreaterThan(String value) {
            addCriterion("goods_details >", value, "goodsDetails");
            return (Criteria) this;
        }

        public Criteria andGoodsDetailsGreaterThanOrEqualTo(String value) {
            addCriterion("goods_details >=", value, "goodsDetails");
            return (Criteria) this;
        }

        public Criteria andGoodsDetailsLessThan(String value) {
            addCriterion("goods_details <", value, "goodsDetails");
            return (Criteria) this;
        }

        public Criteria andGoodsDetailsLessThanOrEqualTo(String value) {
            addCriterion("goods_details <=", value, "goodsDetails");
            return (Criteria) this;
        }

        public Criteria andGoodsDetailsLike(String value) {
            addCriterion("goods_details like", value, "goodsDetails");
            return (Criteria) this;
        }

        public Criteria andGoodsDetailsNotLike(String value) {
            addCriterion("goods_details not like", value, "goodsDetails");
            return (Criteria) this;
        }

        public Criteria andGoodsDetailsIn(List<String> values) {
            addCriterion("goods_details in", values, "goodsDetails");
            return (Criteria) this;
        }

        public Criteria andGoodsDetailsNotIn(List<String> values) {
            addCriterion("goods_details not in", values, "goodsDetails");
            return (Criteria) this;
        }

        public Criteria andGoodsDetailsBetween(String value1, String value2) {
            addCriterion("goods_details between", value1, value2, "goodsDetails");
            return (Criteria) this;
        }

        public Criteria andGoodsDetailsNotBetween(String value1, String value2) {
            addCriterion("goods_details not between", value1, value2, "goodsDetails");
            return (Criteria) this;
        }

        public Criteria andSalesVolumeIsNull() {
            addCriterion("sales_volume is null");
            return (Criteria) this;
        }

        public Criteria andSalesVolumeIsNotNull() {
            addCriterion("sales_volume is not null");
            return (Criteria) this;
        }

        public Criteria andSalesVolumeEqualTo(Long value) {
            addCriterion("sales_volume =", value, "salesVolume");
            return (Criteria) this;
        }

        public Criteria andSalesVolumeNotEqualTo(Long value) {
            addCriterion("sales_volume <>", value, "salesVolume");
            return (Criteria) this;
        }

        public Criteria andSalesVolumeGreaterThan(Long value) {
            addCriterion("sales_volume >", value, "salesVolume");
            return (Criteria) this;
        }

        public Criteria andSalesVolumeGreaterThanOrEqualTo(Long value) {
            addCriterion("sales_volume >=", value, "salesVolume");
            return (Criteria) this;
        }

        public Criteria andSalesVolumeLessThan(Long value) {
            addCriterion("sales_volume <", value, "salesVolume");
            return (Criteria) this;
        }

        public Criteria andSalesVolumeLessThanOrEqualTo(Long value) {
            addCriterion("sales_volume <=", value, "salesVolume");
            return (Criteria) this;
        }

        public Criteria andSalesVolumeIn(List<Long> values) {
            addCriterion("sales_volume in", values, "salesVolume");
            return (Criteria) this;
        }

        public Criteria andSalesVolumeNotIn(List<Long> values) {
            addCriterion("sales_volume not in", values, "salesVolume");
            return (Criteria) this;
        }

        public Criteria andSalesVolumeBetween(Long value1, Long value2) {
            addCriterion("sales_volume between", value1, value2, "salesVolume");
            return (Criteria) this;
        }

        public Criteria andSalesVolumeNotBetween(Long value1, Long value2) {
            addCriterion("sales_volume not between", value1, value2, "salesVolume");
            return (Criteria) this;
        }

        public Criteria andRemainingNumIsNull() {
            addCriterion("remaining_num is null");
            return (Criteria) this;
        }

        public Criteria andRemainingNumIsNotNull() {
            addCriterion("remaining_num is not null");
            return (Criteria) this;
        }

        public Criteria andRemainingNumEqualTo(Long value) {
            addCriterion("remaining_num =", value, "remainingNum");
            return (Criteria) this;
        }

        public Criteria andRemainingNumNotEqualTo(Long value) {
            addCriterion("remaining_num <>", value, "remainingNum");
            return (Criteria) this;
        }

        public Criteria andRemainingNumGreaterThan(Long value) {
            addCriterion("remaining_num >", value, "remainingNum");
            return (Criteria) this;
        }

        public Criteria andRemainingNumGreaterThanOrEqualTo(Long value) {
            addCriterion("remaining_num >=", value, "remainingNum");
            return (Criteria) this;
        }

        public Criteria andRemainingNumLessThan(Long value) {
            addCriterion("remaining_num <", value, "remainingNum");
            return (Criteria) this;
        }

        public Criteria andRemainingNumLessThanOrEqualTo(Long value) {
            addCriterion("remaining_num <=", value, "remainingNum");
            return (Criteria) this;
        }

        public Criteria andRemainingNumIn(List<Long> values) {
            addCriterion("remaining_num in", values, "remainingNum");
            return (Criteria) this;
        }

        public Criteria andRemainingNumNotIn(List<Long> values) {
            addCriterion("remaining_num not in", values, "remainingNum");
            return (Criteria) this;
        }

        public Criteria andRemainingNumBetween(Long value1, Long value2) {
            addCriterion("remaining_num between", value1, value2, "remainingNum");
            return (Criteria) this;
        }

        public Criteria andRemainingNumNotBetween(Long value1, Long value2) {
            addCriterion("remaining_num not between", value1, value2, "remainingNum");
            return (Criteria) this;
        }

        public Criteria andAddressIsNull() {
            addCriterion("address is null");
            return (Criteria) this;
        }

        public Criteria andAddressIsNotNull() {
            addCriterion("address is not null");
            return (Criteria) this;
        }

        public Criteria andAddressEqualTo(String value) {
            addCriterion("address =", value, "address");
            return (Criteria) this;
        }

        public Criteria andAddressNotEqualTo(String value) {
            addCriterion("address <>", value, "address");
            return (Criteria) this;
        }

        public Criteria andAddressGreaterThan(String value) {
            addCriterion("address >", value, "address");
            return (Criteria) this;
        }

        public Criteria andAddressGreaterThanOrEqualTo(String value) {
            addCriterion("address >=", value, "address");
            return (Criteria) this;
        }

        public Criteria andAddressLessThan(String value) {
            addCriterion("address <", value, "address");
            return (Criteria) this;
        }

        public Criteria andAddressLessThanOrEqualTo(String value) {
            addCriterion("address <=", value, "address");
            return (Criteria) this;
        }

        public Criteria andAddressLike(String value) {
            addCriterion("address like", value, "address");
            return (Criteria) this;
        }

        public Criteria andAddressNotLike(String value) {
            addCriterion("address not like", value, "address");
            return (Criteria) this;
        }

        public Criteria andAddressIn(List<String> values) {
            addCriterion("address in", values, "address");
            return (Criteria) this;
        }

        public Criteria andAddressNotIn(List<String> values) {
            addCriterion("address not in", values, "address");
            return (Criteria) this;
        }

        public Criteria andAddressBetween(String value1, String value2) {
            addCriterion("address between", value1, value2, "address");
            return (Criteria) this;
        }

        public Criteria andAddressNotBetween(String value1, String value2) {
            addCriterion("address not between", value1, value2, "address");
            return (Criteria) this;
        }

        public Criteria andGoodsTypeIsNull() {
            addCriterion("goods_type is null");
            return (Criteria) this;
        }

        public Criteria andGoodsTypeIsNotNull() {
            addCriterion("goods_type is not null");
            return (Criteria) this;
        }

        public Criteria andGoodsTypeEqualTo(Long value) {
            addCriterion("goods_type =", value, "goodsType");
            return (Criteria) this;
        }

        public Criteria andGoodsTypeNotEqualTo(Long value) {
            addCriterion("goods_type <>", value, "goodsType");
            return (Criteria) this;
        }

        public Criteria andGoodsTypeGreaterThan(Long value) {
            addCriterion("goods_type >", value, "goodsType");
            return (Criteria) this;
        }

        public Criteria andGoodsTypeGreaterThanOrEqualTo(Long value) {
            addCriterion("goods_type >=", value, "goodsType");
            return (Criteria) this;
        }

        public Criteria andGoodsTypeLessThan(Long value) {
            addCriterion("goods_type <", value, "goodsType");
            return (Criteria) this;
        }

        public Criteria andGoodsTypeLessThanOrEqualTo(Long value) {
            addCriterion("goods_type <=", value, "goodsType");
            return (Criteria) this;
        }

        public Criteria andGoodsTypeIn(List<Long> values) {
            addCriterion("goods_type in", values, "goodsType");
            return (Criteria) this;
        }

        public Criteria andGoodsTypeNotIn(List<Long> values) {
            addCriterion("goods_type not in", values, "goodsType");
            return (Criteria) this;
        }

        public Criteria andGoodsTypeBetween(Long value1, Long value2) {
            addCriterion("goods_type between", value1, value2, "goodsType");
            return (Criteria) this;
        }

        public Criteria andGoodsTypeNotBetween(Long value1, Long value2) {
            addCriterion("goods_type not between", value1, value2, "goodsType");
            return (Criteria) this;
        }

        public Criteria andIsSingleIsNull() {
            addCriterion("is_single is null");
            return (Criteria) this;
        }

        public Criteria andIsSingleIsNotNull() {
            addCriterion("is_single is not null");
            return (Criteria) this;
        }

        public Criteria andIsSingleEqualTo(Boolean value) {
            addCriterion("is_single =", value, "isSingle");
            return (Criteria) this;
        }

        public Criteria andIsSingleNotEqualTo(Boolean value) {
            addCriterion("is_single <>", value, "isSingle");
            return (Criteria) this;
        }

        public Criteria andIsSingleGreaterThan(Boolean value) {
            addCriterion("is_single >", value, "isSingle");
            return (Criteria) this;
        }

        public Criteria andIsSingleGreaterThanOrEqualTo(Boolean value) {
            addCriterion("is_single >=", value, "isSingle");
            return (Criteria) this;
        }

        public Criteria andIsSingleLessThan(Boolean value) {
            addCriterion("is_single <", value, "isSingle");
            return (Criteria) this;
        }

        public Criteria andIsSingleLessThanOrEqualTo(Boolean value) {
            addCriterion("is_single <=", value, "isSingle");
            return (Criteria) this;
        }

        public Criteria andIsSingleIn(List<Boolean> values) {
            addCriterion("is_single in", values, "isSingle");
            return (Criteria) this;
        }

        public Criteria andIsSingleNotIn(List<Boolean> values) {
            addCriterion("is_single not in", values, "isSingle");
            return (Criteria) this;
        }

        public Criteria andIsSingleBetween(Boolean value1, Boolean value2) {
            addCriterion("is_single between", value1, value2, "isSingle");
            return (Criteria) this;
        }

        public Criteria andIsSingleNotBetween(Boolean value1, Boolean value2) {
            addCriterion("is_single not between", value1, value2, "isSingle");
            return (Criteria) this;
        }

        public Criteria andShopIdIsNull() {
            addCriterion("shop_id is null");
            return (Criteria) this;
        }

        public Criteria andShopIdIsNotNull() {
            addCriterion("shop_id is not null");
            return (Criteria) this;
        }

        public Criteria andShopIdEqualTo(Long value) {
            addCriterion("shop_id =", value, "shopId");
            return (Criteria) this;
        }

        public Criteria andShopIdNotEqualTo(Long value) {
            addCriterion("shop_id <>", value, "shopId");
            return (Criteria) this;
        }

        public Criteria andShopIdGreaterThan(Long value) {
            addCriterion("shop_id >", value, "shopId");
            return (Criteria) this;
        }

        public Criteria andShopIdGreaterThanOrEqualTo(Long value) {
            addCriterion("shop_id >=", value, "shopId");
            return (Criteria) this;
        }

        public Criteria andShopIdLessThan(Long value) {
            addCriterion("shop_id <", value, "shopId");
            return (Criteria) this;
        }

        public Criteria andShopIdLessThanOrEqualTo(Long value) {
            addCriterion("shop_id <=", value, "shopId");
            return (Criteria) this;
        }

        public Criteria andShopIdIn(List<Long> values) {
            addCriterion("shop_id in", values, "shopId");
            return (Criteria) this;
        }

        public Criteria andShopIdNotIn(List<Long> values) {
            addCriterion("shop_id not in", values, "shopId");
            return (Criteria) this;
        }

        public Criteria andShopIdBetween(Long value1, Long value2) {
            addCriterion("shop_id between", value1, value2, "shopId");
            return (Criteria) this;
        }

        public Criteria andShopIdNotBetween(Long value1, Long value2) {
            addCriterion("shop_id not between", value1, value2, "shopId");
            return (Criteria) this;
        }

        public Criteria andGroupWaitTimeIsNull() {
            addCriterion("group_wait_time is null");
            return (Criteria) this;
        }

        public Criteria andGroupWaitTimeIsNotNull() {
            addCriterion("group_wait_time is not null");
            return (Criteria) this;
        }

        public Criteria andGroupWaitTimeEqualTo(Long value) {
            addCriterion("group_wait_time =", value, "groupWaitTime");
            return (Criteria) this;
        }

        public Criteria andGroupWaitTimeNotEqualTo(Long value) {
            addCriterion("group_wait_time <>", value, "groupWaitTime");
            return (Criteria) this;
        }

        public Criteria andGroupWaitTimeGreaterThan(Long value) {
            addCriterion("group_wait_time >", value, "groupWaitTime");
            return (Criteria) this;
        }

        public Criteria andGroupWaitTimeGreaterThanOrEqualTo(Long value) {
            addCriterion("group_wait_time >=", value, "groupWaitTime");
            return (Criteria) this;
        }

        public Criteria andGroupWaitTimeLessThan(Long value) {
            addCriterion("group_wait_time <", value, "groupWaitTime");
            return (Criteria) this;
        }

        public Criteria andGroupWaitTimeLessThanOrEqualTo(Long value) {
            addCriterion("group_wait_time <=", value, "groupWaitTime");
            return (Criteria) this;
        }

        public Criteria andGroupWaitTimeIn(List<Long> values) {
            addCriterion("group_wait_time in", values, "groupWaitTime");
            return (Criteria) this;
        }

        public Criteria andGroupWaitTimeNotIn(List<Long> values) {
            addCriterion("group_wait_time not in", values, "groupWaitTime");
            return (Criteria) this;
        }

        public Criteria andGroupWaitTimeBetween(Long value1, Long value2) {
            addCriterion("group_wait_time between", value1, value2, "groupWaitTime");
            return (Criteria) this;
        }

        public Criteria andGroupWaitTimeNotBetween(Long value1, Long value2) {
            addCriterion("group_wait_time not between", value1, value2, "groupWaitTime");
            return (Criteria) this;
        }
    }

    public static class Criteria extends GeneratedCriteria {

        protected Criteria() {
            super();
        }
    }

    public static class Criterion {
        private String condition;

        private Object value;

        private Object secondValue;

        private boolean noValue;

        private boolean singleValue;

        private boolean betweenValue;

        private boolean listValue;

        private String typeHandler;

        public String getCondition() {
            return condition;
        }

        public Object getValue() {
            return value;
        }

        public Object getSecondValue() {
            return secondValue;
        }

        public boolean isNoValue() {
            return noValue;
        }

        public boolean isSingleValue() {
            return singleValue;
        }

        public boolean isBetweenValue() {
            return betweenValue;
        }

        public boolean isListValue() {
            return listValue;
        }

        public String getTypeHandler() {
            return typeHandler;
        }

        protected Criterion(String condition) {
            super();
            this.condition = condition;
            this.typeHandler = null;
            this.noValue = true;
        }

        protected Criterion(String condition, Object value, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.typeHandler = typeHandler;
            if (value instanceof List<?>) {
                this.listValue = true;
            } else {
                this.singleValue = true;
            }
        }

        protected Criterion(String condition, Object value) {
            this(condition, value, null);
        }

        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.secondValue = secondValue;
            this.typeHandler = typeHandler;
            this.betweenValue = true;
        }

        protected Criterion(String condition, Object value, Object secondValue) {
            this(condition, value, secondValue, null);
        }
    }
}